Skip to content

fix(web): prevent permissions label from shrinking on click - #26470

Open
UtkarshUsername wants to merge 1 commit into
pingdotgg:mainfrom
UtkarshUsername:fix/permissions-trigger-jump
Open

UtkarshUsername wants to merge 1 commit into
pingdotgg:mainfrom
UtkarshUsername:fix/permissions-trigger-jump

Conversation

@UtkarshUsername

@UtkarshUsername UtkarshUsername commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Problem

On the new thread page, pressing the permissions label below the composer briefly shrinks it, making the text appear to jump as the permissions menu opens.

Change

Mark the permissions button with aria-haspopup="menu". This describes the menu it opens and excludes it from ComposerControl's active press scale, matching the other popup triggers. The change applies to web and desktop, which share this component.

Scope and approval

This is a small, focused fix for an obvious visual bug in an existing menu trigger. It adds the missing popup semantics without changing permission behavior.

Verification

Before:

permissions-before.mov

After:

permissions-after.mov
  • vp run check:changed upstream/main passed formatting, lint, both knip checks, and affected typechecks.
  • Source inspection confirms the active scale selector excludes buttons with aria-haspopup.

Model: gpt-6.1-sol. Harness: Codex in T3 Code.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Oct 28, 2026
@macroscopeapp

macroscopeapp Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 5d77b21

Macroscope's review found this PR approvable — Adds menu-popup semantics to the permissions button, which also excludes it from the existing press-shrink animation. Permission behavior and product defaults remain unchanged.

No code changes detected at 06a1f54. Prior analysis still applies.

You can add or adjust custom eligibility rules. Learn more.

@coderabbitai

coderabbitai Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

Run configuration
Commits

Reviewing files that changed from the base of the PR and between 98f7c6c and 06a1f54.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

No actionable comments were generated in the recent review.

Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between 5211acf and 5d77b21.

Files selected for processing: 1
  • apps/web/src/components/ComposerContextPermissions.tsx

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.

Walkthrough

The permissions control now sets aria-haspopup="menu".

Changes: Permissions menu semantics

Layer / File(s) Summary
Declare menu behavior
apps/web/src/components/ComposerContextPermissions.tsx
The permissions control now declares that it opens a menu using aria-haspopup="menu".

Priority: Low

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Bug fix

Possibly related PRs

  • pingdotgg/t3code#25869: Adds the ComposerControl selector that excludes controls with aria-haspopup; this change adds that attribute to the permissions control.

Suggested reviewers: t3dotgg

Merge Risk: Minimal · previous review 5d77b

The change adds menu semantics to the permissions control without an identified behavior or permission regression.

Pre-merge checks: Passed 4
Check name Status Explanation
Title check Passed The title clearly and concisely describes the primary visual fix: preventing the permissions label from shrinking when clicked.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Description check Passed The description includes the required Problem, Change, Scope and approval, and Verification sections. It explains the visual bug, identifies the fix and scope, provides before and after evidence, and …
Full details: Description check

Explanation

The description includes the required Problem, Change, Scope and approval, and Verification sections. It explains the visual bug, identifies the fix and scope, provides before and after evidence, and lists validation results. It does not explicitly state that browser verification was not run, but the description is otherwise complete.

Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

Copy link
Copy Markdown
Collaborator

Note

Written by gpt-6.1-sol on behalf of Maria

thanks @UtkarshUsername. your one-line popup semantics fix is already the smallest correct change. i kept it intact and merged current main into your branch, preserving your commit. nothing was dropped or moved.

verified on 98f7c6c5342ea55ce60af61c2a655d9b6f77da25:

  • reproduced on main 36dac688a17c: mouse-down scales the label to 0.97 (91.08px to 88.35px). this head keeps it at 91.08px.
  • real chrome: menu opens, selecting supervised updates the permissions label, enter opens the menu, escape closes it, and full access can be restored. narrow dark layout also passes.
  • blacksmith vp run check:changed 36dac688a17c6de1c6398e62d01546fb787c185b passed formatting, lint, both knip checks, affected typechecks, and react compiler coverage.
  • all 30 ci checks passed. two independent source reviewers approved this head with no findings. the bot review has no actionable findings.

unverified: native electron runtime. desktop shares this web component; mobile has separate controls and is unchanged. no provider turn was needed for this visual fix.

before, held down:

before: permissions label shrinks while pressed

after, held down:

after: permissions label keeps its size while pressed

before: press permissions and open its menu

after: press permissions and open its menu without shrinking

GigaZoro pushed a commit to GigaZoro/CodeShip that referenced this pull request Oct 30, 2026
…ingdotgg#26470)

Cherry-picked from pingdotgg#26470

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@UtkarshUsername
UtkarshUsername force-pushed the fix/permissions-trigger-jump branch from 98f7c6c to 06a1f54 Compare October 30, 2026 08:05

maria-rcks commented Oct 30, 2026 •

Copy link
Copy Markdown
Collaborator

Note

Written by gpt-6.1-sol on behalf of Maria

Verified in a real dev environment

verified as-is at 06a1f54806f08f6117ef0eff037bcc780ca54bb1 on this linux boat vm. no code changes or pushes were needed.

  • reproduced on github/main (6575ce32508bd7908444241f3719aa33aaf77f90) in a separate worktree after vp i. holding the new-thread permissions label shrinks its width from 91.08px to 88.35px, with computed scale 0.97.
  • stopped main's server before starting the exact pr head after vp i. used isolated dev state, playwright from the repo, and /usr/bin/google-chrome. the same full-access label stays at 91.08px while pressed, with computed scale none. mouse-up opens the menu; enter opens it and escape closes it.
  • created the project through the app, pointing at the real /home/user/t3code git repository. selected codex gpt-6.1-sol, changed full access to supervised through the permissions menu, and submitted a real turn. both commands required approval in the client; approving each let the turn complete and its response render.
  • restored full access through the existing thread's permissions menu. a real follow-up ran git status --short without requesting approval and completed with a clean working tree.
  • blacksmith vp run check:changed 5ef56853ef1854da50bc1909c6c0a32700f2cb13 passed format, lint, both knip checks, affected web/scripts typechecks, and react compiler coverage. latest head ci is green: 21 passed and 11 skipped.

short transcript from the real client/provider path:

codex gpt-6.1-sol, supervised
$ pwd
[approved in the web client]
/home/user/t3code
$ git rev-parse --show-toplevel
[approved in the web client]
/home/user/t3code

permissions changed back to full access
$ git status --short
[no approval prompt; no output]
the working tree is clean.

matching composer crops while the mouse is held down:

main: permissions label shrinks while pressed

pr: permissions label keeps its size while pressed

main: press the permissions label and open its menu

pr: press without shrinking, open with enter, and close with escape

real codex turn: approve supervised commands and receive the completed response

inspected the captures and checked playback and seeking on all three uploaded clips in t3's rendered player.

Not verified

native electron, macos/windows, and native ios/android were not exercised on this linux vm. web and desktop share the changed component; mobile has separate controls. other providers and remote/relay/tunnel connections were not exercised. no claim of native or cross-provider integration coverage.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS 0-9 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants